package com.yssoft.mapper.core;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.yssoft.entity.core.TFunctions;
import com.yssoft.entity.core.TRoles;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

public interface TRolesMapper  extends Mapper<TRoles> {
	/**
	 * @方法名称: selectPage
	 * @功能描述: 分页查询角色
	 * @作者: 洪丰
	 * @创建时间: 2018年4月26日 下午2:49:03
	 * @param map
	 * @return List<Map<String,Object>>
	 */
	 List<Map<String, Object>> selectPage(HashMap<String, Object> map);
	 
	 /**
	  * @方法名称: selectPageCount
	  * @功能描述: 分页查询角色条数
	  * @作者: 洪丰
	  * @创建时间:2018年5月24日 下午1:18:19
	  * @param map
	  * @return Integer
	  */
	 Integer selectPageCount(HashMap<String, Object> map);
	 
	 /**
	  * @方法名称: selectFunctionByRoleId
	  * @功能描述: 查询角色对应的功能
	  * @作者: 洪丰
	  * @创建时间: 2018年4月26日 下午2:49:52
	  * @param map
	  * @return List<TFunctions>
	  */
	 List<TFunctions> selectFunctionByRoleId(HashMap<String, Object> map);
	 
	 /**
	  * @方法名称: deleteRolefunctions
	  * @功能描述: 
	  * @作者: 洪丰
	  * @创建时间: 2018年4月26日 下午4:16:05
	  * @param roleId void
	  */
	 void deleteRolefunctions(int roleId);
	 
	 /**
	  * @方法名称: insertStudentAutoKey
	  * @功能描述: 批量插入中间表
	  * @作者: 洪丰
	  * @创建时间: 2018年4月26日 下午4:37:43
	  * @param ids void
	  */
	 void insertStudentAutoKey(List<Map<String, Object>> ids);
    
    /**
     * 查询企业下面的角色
     * @param currentCompanyId
     * @return
     */
    List<TRoles> selectRolesByCompany(Integer currentCompanyId);
    
    /**
     * 查询账号关联的角色
     * @param id
     * @return
     */
    List<TRoles> queryRoleByAccount(Integer id);
    
    List<TRoles> selectRoleByAccount(@Param("id") Integer id);
}